﻿using System;
namespace Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg {
    
    
    public partial class SeotudIsikType : global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.ISeotudIsikType {
        
        private global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XTegevus @__tegevus;
        
        private global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XIsikuroll @__isikuRoll;
        
        private System.DateTime? @__volitusteKpv;
        
        private global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IIsikType @__isik;
        
        public SeotudIsikType() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public SeotudIsikType(global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XTegevus @tegevus, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XIsikuroll @isikuRoll, System.DateTime? @volitusteKpv, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IIsikType @isik) {
            this.@__tegevus = @tegevus;
            this.@__isikuRoll = @isikuRoll;
            this.@__volitusteKpv = @volitusteKpv;
            this.@__isik = @isik;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public SeotudIsikType(global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XTegevus @tegevus, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XIsikuroll @isikuRoll, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IIsikType @isik) {
            this.@__tegevus = @tegevus;
            this.@__isikuRoll = @isikuRoll;
            this.@__isik = @isik;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected SeotudIsikType(ISeotudIsikType @seotudIsikType) {
            this.@__tegevus = @seotudIsikType.Tegevus;
            this.@__isikuRoll = @seotudIsikType.IsikuRoll;
            this.@__volitusteKpv = @seotudIsikType.VolitusteKpv;
            this.@__isik = @seotudIsikType.Isik;
        }
        
        public virtual global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XTegevus Tegevus {
            get {
                return this.@__tegevus;
            }
            set {
                this.@__tegevus = value;
            }
        }
        
        public virtual global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XIsikuroll IsikuRoll {
            get {
                return this.@__isikuRoll;
            }
            set {
                this.@__isikuRoll = value;
            }
        }
        
        public virtual System.DateTime? VolitusteKpv {
            get {
                return this.@__volitusteKpv;
            }
            set {
                this.@__volitusteKpv = value;
            }
        }
        
        public virtual global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IIsikType Isik {
            get {
                return this.@__isik;
            }
            set {
                this.@__isik = value;
            }
        }
    }
}
